package com.example.logisticsingle.Config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;


/**
 * 自动生成表配置

 *
 */
@Component
@ConfigurationProperties(prefix="mybatis")
@Data
public class MybatisGenProperties {
    /**
     * 表配置
     */
    private Table table;
    /**
     * 数据库配置
     */
    public static Database database;
    /**
     * 实体配置
     */
    private Model model;
    /**
     * 表配置类
     * @author Roskin
     *
     */
    /**
     * 数据库配置类
     * @author Roskin
     *
     */
    @Data
    static class Database{
        public static String type;
    }
    @Data
    class Table{
        /**
         * create时，系统启动后，会将所有的表删除掉，然后根据model中配置的结构重新建表，该操作会破坏原有数据。
         * update时，系统会自动判断哪些表是新建的，哪些字段要修改类型等，哪些字段要删除，哪些字段要新增，该操作不会破坏原有数据。
         * none时，系统不做任何处理。
         */
        private String auto;
    }
    /**
     * 实体配置信息
     * @author Admin
     *
     */
    @Data
    class Model{
        /**
         * 这个配置是用来配置要扫描的用于创建表的对象的包名
         */
        private String pack;
    }
}
